Vereiste:

Voor het verzenden van Mail heb je een uitgaande mailserver nodig (die in het geval van dit script ook niet geauthenticeerde uitgaande communicatie moet toelaten). Vul de vereiste gegevens in in de volgende variabelen:


In [ ]:
MAIL_SERVER = "mail.****.com"
FROM_ADDRESS = "noreply@****.com"
TO_ADDRESS = "my_friend@****.com"

Een mail verzenden is, mits het inladen van de juiste bibliotheek, een fluitje van een cent...


In [ ]:
from sender import Mail
mail = Mail(MAIL_SERVER)
mail.fromaddr = ("Geheime aanbidder", FROM_ADDRESS)

In [ ]:
mail.send_message("Raspberry Pi heeft een boontje voor je", to=TO_ADDRESS, body="Hey lekker ding! Zin in een smoothie?")

... maar als we het wat verder doordrijven kunnen we ons deurbel project via de cloud koppelen aan het verzenden van een mail!

APPKEY is de Application Key voor een (gratis) http://www.realtime.co/ "Realtime Messaging Free" subscription.
Zie "104 - Remote deurbel - Een cloud API gebruiken om berichten te sturen" voor meer gedetailleerde info.


In [ ]:
APPKEY = "******"

In [ ]:
mail.fromaddr = ("Uw deurbel", FROM_ADDRESS)

mail_to_addresses = {
    "Donald Duck":"dd@****.com",
    "Maleficent":"mf@****.com",
    "BozeWolf":"bw@****.com"
    }

def on_message(sender, channel, message):
    boodschap = "{}: Er is aangebeld bij {}".format(channel, message)
    print(boodschap)
    mail.send_message("Raspberry Pi alert!", to=mail_to_addresses[message], body=boodschap)

In [ ]:
import ortc
oc = ortc.OrtcClient()
oc.cluster_url = "http://ortc-developers.realtime.co/server/2.1"

def on_connected(sender):
    print('Connected')
    oc.subscribe('deurbel', True, on_message)
 
oc.set_on_connected_callback(on_connected)
oc.connect(APPKEY)

In [ ]: